分享人:肖浩宇
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。IP地址是唯一的。常见的IP地址分为IPv4与IPv6两大类。可以把IP地址类比为一个电话号码,180.149.132.47即是一个IP地址。
网域名称(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。可以理解为联系人名称,如www.baidu.com就是一个域名。
网域名称系统(DNS,Domain Name System)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个 布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。DNS将域名转换为IP地址的过程叫解析, 域名必须对应一个IP地址,而IP地址不一定只对应一个域名。可以把DNS理解为一个通讯录。
Cookie 是一小段文本信息,以键值对的形式存储在客户端,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。
Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。
用户打开浏览器访问一起网站,浏览器的COOKIE中会生成sessionID,在每次请求时都会自动带上sessionID,然后服务器端根据sessionID找到对应的session值。
sessionID就相当于是一个钥匙,服务器上存session的地方相当于一个柜子,只能拿自己的钥匙开自己的柜子取自己的东西。
session一般存储用户相关的的信息,如用户登录状态、权限控制等,其他的信息也可存。另外就是无论你站点上的用户是否登录都会生成sessionID。
Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。cookie可以解决此问题。
所以个人建议:将登陆信息等重要信息存放为SESSION其他信息如果需要保留,可以放在COOKIE中
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。 如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。 存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。
在使用JavaScript存取 cookie 时,必须要使用Document对象的 cookie 属性;一行代码介绍如何创建和修改一个 cookie :
document.cookie = 'username=Darren'
以上代码中'username'表示 cookie 名称,'Darren'表示这个名称对应的值。假设 cookie 名称并不存在,那么就是创建一个新的 cookie;如果存在就是修改了这个 cookie 名称对应的值。如果要多次创建 cookie ,重复使用这个方法即可。
1. cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
2. cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
3. 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
参考一:session到底是什么?
参考三:wiki-Cookie
IPv4,由四组数字组合而成,由句点隔开(如207.44.214.87);IPv6,由8组4位16进制数表示,用冒号隔开(如2001:0db8:0000:0042:0000:8a2e:0370:7334)。
感谢大家观看
BY : 任昊 | 刘洪运| 肖浩宇